<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://unpkg.com/vue"></script>
    <script>
        var data = { counter: 0 }

        window.onload = function () {


            Vue.component('child', {
                // 声明 props
                props: ['myMessage'],
                // 就像 data 一样，prop 可以用在模板内
                // 同样也可以在 vm 实例中像“this.message”这样使用
                template: '<span>{{ myMessage }}</span>'
            })

            Vue.component('simpleCounter', {
                template: "<button v-on:click='counter += 1'>{{ counter }}</button>",
                // 技术上 data 的确是一个函数了，因此 Vue 不会警告，
                // 但是我们返回给每个组件的实例却引用了同一个 data 对象
                data: function(){
                    return { counter: 0 };
                }
            })

            var app4 = new Vue({
                el: '#example'
                ,data:{
                    parentMsg:''
                }
            })
        }
    </script>
</head>
<body>

<div id="example">

    <div>
        <input v-model="parentMsg">
        <br>
        <child v-bind:my-message="parentMsg"></child>
    </div>
    
    <simple-counter></simple-counter>
    <simple-counter></simple-counter>
    <simple-counter></simple-counter>


</div>

</body>
</html>